|
Date : 31 d�cembre 1993 23h30 ( pour passer le temps ) Programme : ONE STEP BEYON Protection : DISQUETTE CLEF Outils : SOFT-ICE V2.50 Temps pass� : 5 minutes Fichier : INSTALL.EXE Soci�t� : OCEAN Divers : Programme d'install crypt� par RNC Origine : Slave. Num�ro : 236 L'installation demande la disquette d'origine... Et l'exe est cod� par RNC. Il faudra que je pense � l'aligner un jour celui-la. Avec LDR je charge le programme et le trace jusqu'� ce que je tombe sur un JMP FAR qui repr�sente le vrai d�but du programme. Au fait qu'est ce qui m'emp�che de recopier le programme � partir de la sur le hard ? A voir... La premi�re interruption est le test de la version du DOS, ce qui me conforte dans l'id�e que c'est bien le d�but du programme. A partir de l� on trace jusqu'au test du lecteur mais sans rentrer dans le d�tail des INT 13 etc... ( normalement elles sont d�tourn�es et comportent des routines anti-debug ). Une fois que le programme s'est d�compress� en RAM, on tombe sur un JMP FAR qui nous enm�ne en CS:0000. CS = 0EFB CS:0000 d�but CS:0155 call g�n�ral de l'install CS:048D call d'affichage des trois options: INSTALL, QUIT, etc CS:25ED call d'attente d'un char CS:1382 si on a appuy� sur ENTER CS:2626 call du test de la disquette � ����> CS:0781 call de lecture du drive A: puis B: CS:0784 test du r�sultat. CS:0781 E8BC44 CALL 4C40 CS:0784 3B5606 CMP DX,[BP+06] CS:0787 75C3 JNZ 074C ; SI PAS OK... CS:0789 3B4604 CMP AX,[BP+04] CS:078C 75BE JNZ 074C ; SI PAS OK... CS:078E B80100 MOV AX,0001 ; FLAG SI OK CS:0791 5D POP BP CS:0792 C3 RET Le programme �tant crypt�, il suffit de d�tourner une INT et de modifier CS:0787 75C3 JNZ en EB05 JMP 078E pour aller mettre le flag quelque soit la disquette utilis�e: originale ou une horrible copie. Voici les donn�es du patch: ; PATCH POUR LE PROGRAMME ONE STEP BEYON. ; INT 21h. Sous-fonction 30h. Version du DOS. ;****************************************************************************** ; ZONE A INITIALISER adr_ip1 equ 0787h ; Adresse dont le contenu est � modifier. anc_val equ 0c375h ; Valeur d'origine � rechercher, invers�e. nouv_val equ 05ebh ; Nouvelle valeur (la modif). sous_f equ 30h ; Version du DOS. INT_DET equ 21h ; Le num�ro de l'INT que l'on veut utiliser. nb equ 30 ; Nombre de d�pilage. ;****************************************************************************** db 55h,0aah ; Identificateur de d�but. chaine: db '�����������FREDDY���������Ŀ' db '� �' db '� ONE STEP BEYON Bypass �' db "� I hope you'll enjoy it �" db '� �' db '��� Lan�eur Crypt� V1.1 ����' mess_err db 0ah,0dh,'Programme enfant non trouv�','$' nom_prg db 'install.exe',0,0 ; 12 car max + nul chaine_fin: db 0aah,55h ; Identificateur de fin. ------------------------------------------------------------------------------ Freddy |